Current graphics data processing includes systems and methods developed to perform a specific operation on graphics data, e.g., linear interpolation, tessellation, rasterization, texture mapping, depth testing, etc. These graphics processors include several fixed function computation units to perform such specific operations on specific types of graphics data, such as vertex data and pixel data.
More recently, the computation units have a degree of programmability to perform user specified operations such that the vertex data is processed by a vertex processing unit using vertex programs and the pixel data is processed by a pixel processing unit using pixel programs. When the amount of vertex data being processed is low relative the amount of pixel data being processed, the vertex processing unit may be underutilized. Conversely, when the amount of vertex data being processed is high relative the amount of pixel data being processed, the pixel processing unit may be underutilized.
Accordingly, it would be desirable to provide improved approaches to processing different types of graphics data to better utilize one or more processing units within a graphics processor.